// City.h: interface for the CCity class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CITY_H__628E0E16_1164_4E23_87BB_8F120FD3FB25__INCLUDED_)
#define AFX_CITY_H__628E0E16_1164_4E23_87BB_8F120FD3FB25__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Efx.h"

class CCity : public CEfx  
{
private:

	he3d_CScene				m_sCity;
	he3d_CSegmentedMesh*	m_psmCity;
	
	PDIRECT3DVERTEXBUFFER8	m_pvbGrid;
	PDIRECT3DVERTEXBUFFER8	m_pvbThickGrid;

	PDIRECT3DVERTEXBUFFER8	m_pvbFlarez;

	PDIRECT3DVERTEXBUFFER8	m_pvbCelling;
	PDIRECT3DINDEXBUFFER8	m_pibCelling;

	CSimpleBlobSystem		m_bsSystem;
	CSimpleBlob3D			m_b3dBlobs[5];
	he3d_CVector			m_vBlobs[5];

	he3d_CMatrix			m_mtxBlobs;

	CImageQuad*				m_piqFade;
	CImageQuad*				m_piqEdge;
	CImageQuad*				m_piqEarth;

public:

	CCity( PDIRECT3DDEVICE8 pDevice );
	virtual ~CCity();

	virtual BOOL UpdateFrame( FLOAT fTime );
	virtual BOOL RenderEfx();

};

#endif // !defined(AFX_CITY_H__628E0E16_1164_4E23_87BB_8F120FD3FB25__INCLUDED_)
